One of the challenges in pervasive and ubiquitous computing for the foreseeable future is the dynamic onboarding of heterogeneous device types onto computing networks in a method that is reliable, secure, and scalable. This problem can be attributed to heterogeneity in data and in communication protocols with requirements for transient and durable transfer of data to subscribers on the network. Most devices use Internet Protocol (IP) to connect to a communication network. IP, which is the primary network communications protocol used on the Internet, is a Network Layer protocol supported by transport protocols like TCP, UDP and SCTP. Transport protocols with session protocols like HTTP and MQTT are typically the medium for transporting data generated from devices on the network. Devices typically choose to send data in either clear text or binary format. The data can further be encoded in formats such as ASN.1, or can be further encrypted (typically at a packet level). Furthermore, this data can have context that has window of time.
Device data subscribers (e.g., in peer-to-peer or client-server models) typically require device specific software agents that are implemented for resolving communication and data. When a subscriber is communicating with multiple types of devices, for example, the solution for handling heterogeneity is usually solved by developing multiple device-specific software agents on the subscriber device/system. As an alternative, one can also choose to deploy subscriber software agents on each device that converts the communication and data to a format specified by the subscriber. These scenarios do not present a dynamic, reliable, secure and scalable method for onboarding multiple device types onto the network. Further, multiple device specific software agents on the subscriber can create security vulnerability by increasing the number of operational ports in an attempt to accommodate multiple device types.
Devices in pervasive and ubiquitous computing oftentimes communicate in different protocols and data formats to publish/send data to subscribers on a network. As such, subscribers (e.g., peer-to-peer or client-server) are generally required to understand every protocol and data format from the various devices connected to the network. Existing solutions require: (1) subscriber software agents on the device; (2) device-specific software agents on the subscriber; and/or (3) a universal translation software agent on the subscriber that converts all incoming traffic to a specific protocol and data format. New types of devices that are added to the network can require device specific software agents be added to the subscribers. Modifying existing subscriber software and/or developing agents can require significant time, effort, resources, and diligence.
In most if not all of these solutions, software agents are the primary system resource for handling incoming connections, TCP/IP sessions, and managing connections with devices. And, as devices go through their rapid life cycle of upgrades and enhancements, the software agents will also have to be modified and updated at the same rate. The complexity increases further when devices are required to communicate with multiple subscribers on the network, and in scenarios where the subscribers are required to maintain open durable connections for data transfer asynchronously.